package com.fzkj.thread.demo2;

/**
 * 模拟卖票的过程
 */
public class SaleTicketThread extends Thread {

    private String name;

    public SaleTicketThread(String name) {
        this.name = name;
    }

    // 定义票数，供几个线程同时操作
    static int tickets = 100;

    @Override
    public void run(){
        /**
         * 这样写线程不安全
         * 窗口3卖出了座位号：52的票
         * 窗口3卖出了座位号：49的票
         * 窗口4卖出了座位号：48的票
         * 窗口2卖出了座位号：49的票
         * 窗口1卖出了座位号：49的票
         */
        while(true){
            if (tickets > 0){
                System.out.println(name+"卖出了座位号："+(tickets--)+"的票");
            }else {
                break;
            }
            try{
                Thread.sleep(100);
            }catch (Exception e){
                e.printStackTrace();
            }
        }
        System.out.println(name+"票卖完了。。。");
    }

}
